#pragma once

#include "public.h"
#include "driver/uart.h"

#ifdef __cplusplus
extern "C" {
#endif

// 每行接收到的数据最大长度（包括末尾 '\0'）
#define UART_LINE_MAX_LEN 128

// 回调函数类型（由用户实现）
typedef void (*uart_line_callback_t)(const char *line, void *user_ctx);

// 初始化串口接收行模式
esp_err_t uart_line_init(uart_port_t uart_num, int tx_pin, int rx_pin, int baud_rate);

// 注册行接收回调函数
void uart_line_register_callback(uart_port_t uart_num, uart_line_callback_t cb, void *user_ctx);

#ifdef __cplusplus
}
#endif
